package com.battle.service.service.in;

import com.battle.pojo.vo.examStudyDetails.GetExamStudyDetailsVo;
import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.examStudy.*;
import com.battle.pojo.vo.examStudy.*;

import java.util.List;


/**
 * 【描 述】：用户考试管理服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface ExamStudyService {

    /**
     * 创建用户考试管理
     *
     * @param param
     */
    Long  createExamStudy(CreateExamStudyParam param);

    /**
     * 修改用户考试管理
     *
     * @param param
     */
    void editExamStudy(EditExamStudyParam param);

    /**
     * 移除用户考试管理
     *
     * @param id
     */
    void removeExamStudy(Long id);

    /**
     * 启动/禁用用户考试管理
     *
     * @param id
     */
    void enabledExamStudy(Long id);

    /**
     * 获取用户考试管理详情
     *
     * @param id
     * @return
     */
    GetExamStudyVo getExamStudy(Long id);

    /**
     * 根据id获取题目详情
     * @param id
     * @return
     */
    GetExamStudyDetailsVo getExamStudyDetails(Long id);

    /**
     * 根据试卷id和用户id获取试卷详情
     * @param examId
     * @return
     */
    GetExamDetailsVo getExamDetails(Long examId,Long userId);

    /**
     * 获取用户考试管理列表
     *
     * @param param
     * @return
     */
    PageResult<GetExamStudyListVo> getExamStudyList(GetExamStudyListParam param);


    /**
     * 获取用户考试管理下拉列表
     *
     * @param param
     * @return
     */
    List<GetExamStudyDownListVo> getExamStudyDownList(GetExamStudyDownListParam param);


}